今天的主題是Postman API,在 Day4 授權 中有簡單提到,透過官方提供的API,能夠做到像是新增Collection、更新環境變數等前面所介紹過的功能,並不需要桌面版或是網頁版的Postman應用程式提供的介面就能達到,非常便於CI/CD的整合。
與其用文字來描述Postman API的功能,不如直接將整個Collection給複製回自己的工作區來看看,到這裡找到Postman API這個Collection選擇fork就可以囉。
整個Collection分成好幾個資料夾,以資源類型來進行分類,以第一個資料夾Collection為例,基本上都會包含其CRUD增查改刪等幾個API:
Collections
另外,使用Postman API有幾個小須知
API Key:rate limit:Header裡帶有下列資訊
HTTPS
json格式在開始今天的挑戰之前,請別忘了將 Day 12: Postman API 先行fork到自己的工作區喔。
回到自己的工作區後,打開今天的資料夾Postman API,根據右邊的文件提示來操作。不過今天操作的流程與其說是挑戰,不如說是體驗Postman API,文件裡提到了三個GET的請求,以其中的get single environment
來舉例,透過GET https://api.getpostman.com/environments/{{environmentId}}這個API,可以取的指定ID的資源,取出的內容格式是json,有關於該環境所設定的變數當前的狀況,摘錄如下:
{
    "environment": {
        "id": "ba83e6f5-9ce0-4439-864e-653da0c5c9e3",
        "name": "Postman API env",
        "owner": "3172240",
        "createdAt": "2022-09-27T16:09:32.000Z",
        "updatedAt": "2022-09-27T16:21:07.000Z",
        "values": [
            {
                "key": "collectionId",
                "value": "3172240-517c4c69-179c-41e9-82c1-48cd84f648ef",
                "enabled": true
            },
        ...
        ],
    ...
}
回應的標頭裡面也有重要的資訊,就是前面提到的rate limits
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 298
X-RateLimit-Reset: 1664375599
其他GET請求也是差不多,就是取出相對應的資料,而如果是使用DELETE類型的API,就會是把指定的該筆資料刪除了。今天的挑戰在設定完三個請求後,就可以嘗試submit了,由於今天沒有特別需要說明的步驟,都是利用前面章節提過的操作就能夠完成,所以就不贅述細節了。需要特別提的是,今天submit用的變數名稱跟文件要求使用的變數名有點不一樣,手動修改後就能夠完成今天的挑戰了。
今天大致瀏覽了Postman API可能有的功能,一大半是前面章節提過的功能,之後可以透過外部呼叫的方式來進行,就不需要都總是透過圖形介面來進行操作,而有些進階的功能像是Webhook等等前面ˋ沒介紹的,會放到之後的章節來進行介紹,目前只要知道Postman API有這些功能即可。
參考資料
那麼今天就到這邊,我們明天見~